﻿//PlazaCommonDerivativeColumns.cs
//Copyright (c) 2013 StockSharp LLC, all rights reserved.
//This code module is part of StockSharp library.
//This code is licensed under the GNU GENERAL PUBLIC LICENSE Version 3.
//See the file License.txt for the license details.
//More info on: http://stocksharp.com

using System;

namespace StockSharp.Plaza.Metadata
{
	/// <summary>
	/// Фьючерсы / опционы: общая информация по сессии.
	/// FORTS_FUTCOMMON_REPL - таблица common.
	/// FORTS_OPTCOMMON_REPL - таблица common.
	/// </summary>
	public abstract class PlazaCommonDerivativeColumns : PlazaColumns
	{
		internal PlazaCommonDerivativeColumns(string tableId)
			: base(tableId)
		{
			IsinId = new PlazaColumn(TableId, "isin_id", typeof(int));
			SessionId = new PlazaColumn(TableId, "sess_id", typeof(int));
			BestSell = new PlazaColumn(TableId, "best_sell", "d16.5", false);
			AmountToSell = new PlazaColumn(TableId, "amount_sell", typeof(int), false);
			BestBuy = new PlazaColumn(TableId, "best_buy", "d16.5", false);
			AmountToBuy = new PlazaColumn(TableId, "amount_buy", typeof(int), false);
			Price = new PlazaColumn(TableId, "price", "d16.5", false);
			Trend = new PlazaColumn(TableId, "trend", "d16.5", false);
			Amount = new PlazaColumn(TableId, "amount", typeof(int), false);
			DealTime = new PlazaColumn(TableId, "deal_time", typeof(DateTime), false);
			MinPrice = new PlazaColumn(TableId, "min_price", "d16.5", false);
			MaxPrice = new PlazaColumn(TableId, "max_price", "d16.5", false);
			AvgPrice = new PlazaColumn(TableId, "avr_price", "d16.5", false);
			PreviousPrice = new PlazaColumn(TableId, "old_kotir", "d16.5", false);
			DealCount = new PlazaColumn(TableId, "deal_count", typeof(int), false);
			ContractCount = new PlazaColumn(TableId, "contr_count", typeof(int), false);
			Capital = new PlazaColumn(TableId, "capital", "d26.2", false);
			Position = new PlazaColumn(TableId, "pos", typeof(int));
			ModificationTime = new PlazaColumn(TableId, "mod_time", typeof(DateTime), false);
			OrdersSellQuantity = new PlazaColumn(TableId, "orders_sell_qty", typeof(int), false);
			OrdersSellAmount = new PlazaColumn(TableId, "orders_sell_amount", typeof(int), false);
			OrdersBuyQuantity = new PlazaColumn(TableId, "orders_buy_qty", typeof(int), false);
			OrdersBuyAmount = new PlazaColumn(TableId, "orders_buy_amount", typeof(int), false);
			OpeningPrice = new PlazaColumn(TableId, "open_price", "d16.5", false);
			ClosingPrice = new PlazaColumn(TableId, "close_price", "d16.5", false);
		}


		/// <summary>
		/// Уникальный числовой идентификатор инструмента.
		/// </summary>
		public readonly PlazaColumn IsinId;

		/// <summary>
		/// Идентификатор торговой сессии.
		/// </summary>
		public readonly PlazaColumn SessionId;

		/// <summary>
		/// Цена лучшей заявки на продажу.
		/// </summary>
		public readonly PlazaColumn BestSell;

		/// <summary>
		/// Количество в лучшей заявке на продажу.
		/// </summary>
		public readonly PlazaColumn AmountToSell;

		/// <summary>
		/// Цена лучшей заявки на покупку.
		/// </summary>
		public readonly PlazaColumn BestBuy;

		/// <summary>
		/// Количество в лучшей заявке на покупку.
		/// </summary>
		public readonly PlazaColumn AmountToBuy;

		/// <summary>
		/// Цена последней сделки.
		/// </summary>
		public readonly PlazaColumn Price;

		/// <summary>
		/// Тренд изменения цены (разница между ценами двух последних сделок).
		/// </summary>
		public readonly PlazaColumn Trend;

		/// <summary>
		/// Количество в последней сделке.
		/// </summary>
		public readonly PlazaColumn Amount;

		/// <summary>
		/// Дата и время последней сделки.
		/// </summary>
		public readonly PlazaColumn DealTime;

		/// <summary>
		/// Минимальная цена.
		/// </summary>
		public readonly PlazaColumn MinPrice;

		/// <summary>
		/// Максимальная цена.
		/// </summary>
		public readonly PlazaColumn MaxPrice;

		/// <summary>
		/// Средневзвешенная цена.
		/// </summary>
		public readonly PlazaColumn AvgPrice;

		/// <summary>
		/// Расчетная цена предыдущей сессии.
		/// </summary>
		public readonly PlazaColumn PreviousPrice;

		/// <summary>
		/// Количество сделок.
		/// </summary>
		public readonly PlazaColumn DealCount;

		/// <summary>
		/// Общее количество контрактов в сделках.
		/// </summary>
		public readonly PlazaColumn ContractCount;

		/// <summary>
		/// Суммарный объём сделок в рублях.
		/// </summary>
		public readonly PlazaColumn Capital;

		/// <summary>
		/// Текущее кол-во открытых позиций.
		/// </summary>
		public readonly PlazaColumn Position;

		/// <summary>
		/// Дата и время изменения записи.
		/// </summary>
		public readonly PlazaColumn ModificationTime;

		/// <summary>
		/// Количество заявок на продажу.
		/// </summary>
		public readonly PlazaColumn OrdersSellQuantity;

		/// <summary>
		/// Объём в контрактах в заявках на продажу.
		/// </summary>
		public readonly PlazaColumn OrdersSellAmount;

		/// <summary>
		/// Количество заявок на покупку.
		/// </summary>
		public readonly PlazaColumn OrdersBuyQuantity;

		/// <summary>
		/// Объём в контрактах в заявках на покупку.
		/// </summary>
		public readonly PlazaColumn OrdersBuyAmount;

		/// <summary>
		/// Цена открытия.
		/// </summary>
		public readonly PlazaColumn OpeningPrice;

		/// <summary>
		/// Цена закрытия.
		/// </summary>
		public readonly PlazaColumn ClosingPrice;
	}
}